Information models and information modelling element definitions and theories abound. A commonly appearing modelling technique for business information capture and retrieval is the so-called Entity-Relationship (ER) data model. Several designs of ER data models exist and are commonly employed. A typical one is the IBM AD/Cycle Information Model as shown in IBM publication SN68-1242-00 dated May 1992, which presents, in two volumes, a typical entity and relationship definition model for making ER diagrams to represent business information in given contexts and settings of interest to the information model designers.
Information models based on ER diagrams must be converted into database definitional structures generated into columns and keys to enable storage and retrieval of data from the informational model to be carried out smoothly in a computer system. A number of automated tools exist to assist a human information model designer to generate ER diagrams representing entities, their interrelationships and their individual attributes in an ER data model diagram. In addition, a number of automated program tools exist for automatically converting or generating a database structural definition or design from an ER model represented by a designer using a computer system. Tools such as the IBM Repository Manager or the Bachman/DBA may be used to automatically generate database definitions for structuring a database with the data from an ER model diagram, once such a diagram has been constructed by the human designer with or without the aid of a design tool.
The information model developed by a designer can be used with computer aided software engineering tools of the sort described to represent ER design information. ER models are made up of entities, relationships and attributes. Entities represent real persons, places or things, while relationships represent associations between two or more entities, and attributes represent characteristics relating to a given entity or relationship. Relationships and attributes are considered to be "facts" about an entity or relationship. Facts can in turn be made up of a combination of relationships and attributes or can be derived from existing relationships and attributes for given entities. Derived facts are those which are sometimes referred to as "indirect facts", and are based not on the specific entities on which the data model is based but, instead, are based on related or associated entities to the base entity and/or to relationships among entities.
Once an ER data model has been created by a designer, either acting alone or with the use of a CASE tool, other CASE tools can be used to automatically generate a database structural definition that corresponds to the items in the ER model with the aforementioned Bachman/DBA or IBM Repository Manager being but two examples.
In conventional ER data modelling techniques, an entity can be described by a relationship fact or an attribute fact and, in more advanced modelling techniques, the facts themselves can be described by a combination of relationship facts and attributive facts. However, there exists today no way for automatically generating a database definitional structure from an ER model in order to represent indirect facts. This limitation prevents many real-world situations from being adequately modelled automatically in a database definition generated from an existing ER model.